<!DOCTYPE html>
<html lang="en">
<head>
    <!--
    @Author 硕鼠
    @Date 2020/4/17 18:52
    @Version 1.0
    @Description 文件说明
  -->
    <meta charset="UTF-8">
    <title>继承</title>
    <script>
        function A() {
            this.abc = 12;
        }

        A.prototype.show = function () {
            alert(this.abc);
        };

        //继承A
        function B() {
            //this->new B();继承父级的属性
            //原本给A加属性，变成给B加的属性。
            A.call(this);
        }
        for(var i in A.prototype){ //B继承A的方法
            B.prototype[i] = A.prototype[i];
        }
        B.prototype.fn=function () { //B独有的方法
            alert('fnabc')
        }

        var obj = new B();
        var objA = new A();
        obj.fn();
        obj.show();
        // objA.fn();//报错
        objA.show();
        // alert();
        // alert(obj.abc);


        // function show(a,b) {
        //     alert('this是：'+this+'\na是'+a+'\nb是'+b)
        // }
        // show.call('abc',12,5); //call的第一个参数作为this,后面依此传给函数作为参数。
    </script>
</head>
<body>

</body>
</html>